/*=============================================================================
* File Name : TouchManager.cpp                      Ver : 1.00  Date : 2011/08/28
*
* Description :
*
*       タッチ管理.
*
* Author : yuuki tsuchida.
*============================================================================*/
#include "TouchManager.h"

namespace tglib
{

/*===========================================================================*/
/**
 * 更新．
 */
void TouchManager::update()
{
	m_nowTouchEvent = m_currentTouchEvent;
}

/*===========================================================================*/
/**
 * 移動量の取得．
 *
 * @return   移動量．
 */
Vector2	TouchManager::getVelocit() const
{
	Vector2 velocity = m_nowTouchEvent.getTouchPoint() - m_oldTouchEvent.getTouchPoint();
	return velocity;
}

/*===========================================================================*/
/**
 * タッチ座標の取得．
 *
 * @return   タッチ座標．
 */
const Vector2& TouchManager::getTouchPoint() const
{
	return m_nowTouchEvent.getTouchPoint();
}

/*===========================================================================*/
/**
 * タッチしているかどうか?．
 *
 * @return   タッチしているかどうか．
 */
bool TouchManager::isTouch() const
{
	return m_nowTouchEvent.isTouch();
}

/*===========================================================================*/
/**
 * タップかどうか．
 *
 * @return   タップかどうか．
 */
bool	TouchManager::isTap() const
{
	return ( !m_nowTouchEvent.isTouch() && m_oldTouchEvent.isTouch() );
}

/*===========================================================================*/
/**
 * タッチイベント(値を保存するため)．
 *
 * @param [in]  x 		X座標．
 * @param [in]  y 		Y座標．
 * @param [in]  type 	イベントタイプ．
 */
void TouchManager::touchEvent( float x, float y, int type )
{
	m_currentTouchEvent.update( x, y, type );
}

}

/*========= End of File =====================================================*/
